package com.itheima.test.test17;

import java.util.*;

/*创建一个 HashMap 集合，存储三个键值对元素，每一个键值对的键都是
String(取名著名称即 可,例如: “水浒传”,”三国演义”)，值是 ArrayList,
每一个 ArrayList 的泛型是 String。
请设计程序完成下列数据的存储并对集合进行遍历.要求往集合中添加的数据如下:*/

public class Text {
    public static void main(String[] args) {
        //JDK8不支持Map.Entry<String, ArrayList<String>>,Map.of()和List.of()方法
        //使用上述方法可以合并对象的创建以及添加,减少代码量,优化代码
        //创建一个 HashMap 集合
        HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
        //创建三个ArrayList<String>对象
        ArrayList<String> list1 = new ArrayList<String>();
        ArrayList<String> list2 = new ArrayList<String>();
        ArrayList<String> list3 = new ArrayList<String>();

        //给三个ArrayList<String>对象添加元素
        Collections.addAll(list1, "诸葛亮", "赵云");
        Collections.addAll(list2, "唐僧", "孙悟空");
        Collections.addAll(list3, "武松", "鲁智深");

        //添加三个ArrayList<String>对象到map集合
        map.put("三国演义", list1);
        map.put("西游记", list2);
        map.put("水浒传", list3);

        //对使用stream流对map集合进行遍历
        map.entrySet().stream().forEach(entry -> {
            System.out.println(entry.getKey());
            entry.getValue().forEach(s -> System.out.println("       " + s));
        });
    }
}
